package com.proyecto.core.vista.beans;

import java.util.ArrayList;
import java.util.ResourceBundle;

import com.proyecto.core.modelo.excepciones.GeneralException;
import com.proyecto.core.modelo.servicio.interfaces.IServicioSeguridad;
import com.proyecto.core.vista.echo.componentes.WPTransaccionMultipleTab;
import com.proyecto.core.vista.echo.localizador.ServiceLocator;

public class ExpedienteTab {
	
	public ArrayList<TransaccionBean> lstTransaccion = new ArrayList<TransaccionBean>();
	public TransaccionBean home;
	public TransaccionBean CPPadre;
	public WPTransaccionMultipleTab wpModulo;
	public ResourceBundle mensajeError;
	public ServiceLocator serviceLocator;
	public ResourceBundle resourceBundle;
	public String usuarioCod = "";
	public ArrayList<Integer> AIMEC = new ArrayList<Integer>();
	public IServicioSeguridad servicioSeguridad;
	public ArrayList<String> seccionesSeg = new ArrayList<String>();
	public ArrayList<String> listaOpcionesUsuario = new ArrayList<String>();
	
	
	
	public ExpedienteTab() throws GeneralException {
		inicializar();
		servicioSeguridad = (IServicioSeguridad) serviceLocator.getBean("ServicioSegOperacionesUsuarios");
		seccionesSeg = seccionesExpediente();
		listaOpcionesUsuario = servicioSeguridad.obtenerSeccionesPorUsuario(usuarioCod, seccionesSeg);
	}

	public WPTransaccionMultipleTab getWPModulo() {
		return wpModulo;
	}


	public boolean puedeMostrarSeccionEnExpediente(String seccion){
		AIMEC = servicioSeguridad.buscarOpcion(usuarioCod, seccion, listaOpcionesUsuario);
		if(AIMEC!=null && AIMEC.size()>0){
			if(servicioSeguridad.esAutorizado(usuarioCod, AIMEC)){
				return true;
			}else{
				return false;
			}
		}
		return false;
	}
	
	public void inicializar(){
	}
	
	
	public ArrayList<String> seccionesExpediente(){
		return new ArrayList<String>();
	}

	public TransaccionBean getCPPadre() {
		return CPPadre;
	}

	public void setCPPadre(TransaccionBean padre) {
		CPPadre = padre;
	}

	public TransaccionBean getHome() {
		return home;
	}

	public void setHome(TransaccionBean home) {
		this.home = home;
	}
	
}
